#pragma once

class ErrorLogger
{
public:
    static void Initialize();
    static void WriteLog(const std::string& fun_name, const std::string& error_message);

protected:
    static ErrorLogger* GetInstance();
    static void GetLogPath();
    static void GetLocalTime(std::string& local_time);
    static void CreateLogFile();

private:
    explicit ErrorLogger();
    ~ErrorLogger();

private:
    static ErrorLogger* m_error_logger;
    static std::ofstream m_log_file;
    static std::string m_log_path;
};